package javaCode.chapter09.interface_;

public class ExtendsVSImplements {
    public static void main(String[] args) {
        LittleMonkey woKong = new LittleMonkey("悟空");
        woKong.climbing();
        woKong.swimming();
        woKong.flying();
    }
}

class Monkey{
    private String name;

    public Monkey(String name) {
        this.name = name;
    }

    public void climbing(){
        System.out.println(name + " 会爬树...");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

//接口
interface Fishable{
    void swimming();
}
interface Birdable{
    void flying();
}


//小结：当子类继承父类，就自动拥有父类的功能
//     如果子类需要扩展功能，可以通过 实现接口的方式扩展
//     可以理解 实现接口 是对java 单继承机制的一种补充
class LittleMonkey extends Monkey implements Fishable,Birdable{
    public LittleMonkey(String name) {
        super(name);
    }

    @Override
    public void swimming() {
        System.out.println(super.getName() + " 通过学习，可以像鱼儿一样游泳...");
    }

    @Override
    public void flying() {
        System.out.println(super.getName() + " 通过学习，可以像鸟儿一样飞翔...");
    }
}